home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d11
/
gds105.arc
/
GDS.DOC
< prev
next >
Wrap
Text File
|
1991-03-11
|
57KB
|
1,266 lines
GDS - Graphics Display System
-----------------------------
Written by Paul Schmidt
Distributed by Phase II Electronics Inc.
Copyright (c) 1990,1991 Paul Schmidt
All rights reserved.
i. CONTENTS
-----------
Legal Notices.............................................i
Introduction.............................................ii
Note About Use..........................................iii
What GDS Can Do For You..................................iv
What GDS Does NOT Do!.....................................v
Getting Started...........................................1
The GDS Text Screen.......................................2
Viewing Commands..........................................3
Slide Shows...............................................4
Antialiasing..............................................5
Dithering.................................................6
Command Line Parameters...................................7
Configuration File Details................................8
Common Problems And Solutions.............................9
Bug Reports..............................................10
Revision History.........................................11
GDS will be available in 3 versions...
1. This "demo" version.
2. The ShareWare version for $35.
3. The Full Blown Commercial version.
(price not set at present.)
Distribution and support will be provided by...
Phase II Electronics Inc.
19 Sands Point Drive
Toms River New Jersey 08755-5167
Phone (908) 286-0080, Fax (908) 349-3842
Compuserve 76667,1522 Bob Holland
i. Legal Notices
----------------
GDS105.ZIP may be distributed and used freely without ANY modifications
to the program and/or the included documentation. Any changes to the
original distribution files will be considered an infringement on the
rights of the author.
Any attempt to disassemble and/or extract code from this product will
be considered copyright infringement and is punishable by law.
Phase II and associates hereby disclaims all warranties relating to
this software, whether express or implied, including without limitation
any implied warranties of merchantability or fitness for a particular
purpose. Phase II will not be liable for any special, incidental,
consequential, indirect or similar damages due to loss of data/damage to
hardware or any other reason, even if Phase II or an agent of Phase II
has been advised of the possibility of such damages. In no event shall
Phase II's liability for any damages ever exceed the price paid for the
license to use the software, regardless of the form of the claim. The
person using the software bears all risk as to the quality and
performance of the software.
ii. INTRODUCTION
----------------
One day, I was working on a simple card game and needed a variety of
cardback graphics. I referred to a library of GIF files for some good
scenery to put on the backs of cards and found about 30 files which had
nice scenery and pieces which could be used quite nicely. Then I went to
hell.
First, I converted a set of GIFs into IFF format and loaded them into
Deluxe Paint II Enhanced. Deluxe Paint is one of the more powerful paint
programs, and I was very surprised to find that the brush size is limited
to 64K (a forgivable programming limit). After messing around with grids
and reducing chunks of images down in a nice orderly fashion, I did not
get the results that I wanted, I deleted the whole bunch.
I was very happy to find a program called 'GIFDESK' on a bulletin
board. It seemed to be just what I was looking for, and it solved
another problem for me also. The documentation said it could reduce
GIFs, but it was designed for cataloging pictures, rather than just image
reduction. Great! Now I could get the graphics done, and I could
catalog my 150 megabytes of GIFs!
WRONG. GIFDESK is great for a simple catalog program, but it doesn't do
much for preserving images. The version I have simply grabs dots from
the original and slaps them in a reduced space. Although I'm not sure,
it seems to also use a generic palette which further reduces the quality.
In short, all images get stomped on, some are very simply unrecognizable.
Another problem which was mounting in the back of my mind was that
every GIF viewer I've seen either has mounds of technical problems/
quirks/bugs, or a user interface that would scare the adverage
user.
I was disgusted, in between projects, and wired on coffee. I
downloaded CompuServe's GIF file specifications for encoding and decoding
and got to work. A day later, GDS was a reality.
I make no claims that GDS is everything. The general outline of the
program is based around a very few simple concepts, and there is
certainly room for improvement.
To my knowledge, there is no shareware program which can reduce and/or
catalog GIF images with the integrity that GDS does.
iii. NOTE ABOUT USE
-------------------
This is a shareware program. That doesn't mean it's free...but on the
other hand, I'm not asking anything for it's personal use either. If you
decide you must force money on me for the registered version, I'll
understand, but feel free to explore without retribution.
This program was developed using tools and techniques which have taken
me many years to develop, and I hope it shows. Because of this, the
following points will be taken very seriously:
** DO NOT ** derive benefit from this software professionally in any
manner. DO NOT sell it. DO NOT bundle it with any combination of
products sold for money (this does not include shipping charges for
shareware distributors).
BBS SYSOPS: Please use GDS to catalog your GIFs for your users! I would
like to know you are using it, how you like it, and information about
your setup. I am very interested in providing good software (like this)
to sysops, but I'm not about to write any more unless you all communicate
with me. Again, I don't want money, I just want to get your feedback.
PEOPLE WHO COMPLAIN: There are advanced parts of the GDS user interface
which could use some simplification. While this is true for you advanced
users, I'm estimating that 95% of the users won't do much more than
double click with a mouse or do slide shows. These two facets of GDS are
very simple. As for the parts which could use help? When I have a time,
I'll improve them.
-Paul
iv. WHAT GDS CAN DO FOR YOU
---------------------------
1) GIF VIEWER
GDS is a very intuitive graphics file viewer. It has a (very quickly
implemented) user interface based on many years of GUI experience. If
you find an easier graphics viewer, please let me know.
2) FILE FORMATS
GDS reads GIF, LBM, PCX, RIX, and MAC files. It can write GIF, PCX,
and RIX files directly from the screen. Other formats may be added in
future versions. If you really need a format supported for something,
FAX or write me a note.
3) SLIDE SHOWS
GDS can easily allow you to queue up to 2800 images to show in a
repeated sequence. At 5 seconds per image, that's just under four hours
without repeating an image. GDS reads successive images ahead of time
into EMS or system RAM to minimize draw time, increasing the appearance
of the slide show.
4) IMAGE PROCESSING
GDS can scale images to almost any size. This capability comes in very
handy if you're trying to reduce, enlarge or correct image scaling.
NOTE: Give system operators a break and don't use GDS to make larger GIF
files for more download credit.
5) ARRAYS
GDS has a very good image cataloging section which reduces and labels
arrays of images on the screen. GDS creates spatially optimized
palettes, uses two levels of dithering and two dimensional antialiasing
to reduce color distortion. GDS can reduce up to 2304 images onto a
single 1024x768 graphics screen. If you are a system operator of a BBS,
this is a great way to provide previews of many images to your users.
6) SCREEN CONVERSION
GDS can lock a screen mode, reduce and enlarge images to fit, or scale
and zoom to almost any dimensions. 256 color images can easily be
converted to 16 color images with antialiasing and dithering to ensure
spatial color consistency.
7) MOUSE SUPPORT
GDS is very mouse supportive (does that make it cheezy?). Although
almost everything can be done with the keyboard (a couple of things can
ONLY be done with the keyboard), there is extensive mouse support in GDS.
Unless you are writing or rescaling images, GDS is extremely quick with a
mouse.
v. WHAT GDS DOES NOT DO!
------------------------
1) TIFF FILES
GDS makes no attempt to read or write TIFF files. I sat down with some
TIFF documentation one night to support the TIFF file format, and spent
several hours setting up a code skeleton. After concentrating for quite
a while, I finally realized how the format worked, and vowed never to
support it. Use someone else's program to convert TIFF files into
something reasonable, and hopefully, TIFF will disappear forever (wishful
thinking).
2) WRITING FORMATS
GDS doesn't write LBM or MAC files. It's something I could do, but
haven't and don't have much of a use for. GDS writes GIF, PCX, and RIX
files. Deluxe Paint II Enhanced (LBM files) will read PCX files. If you
really need support for writing a format, FAX or write me a note and
we'll discuss it.
1. GETTING STARTED
------------------
Since you can read this, you must have either gotten GDS as a set of
files, or already UNZIPped it out of it's original ZIP file.
GDS can quickly be started by typing 'GDS' followed by 'Enter'. GDS
should run with no command line options. GDS can also be started from
any path by specifying it's path on the command line. It can also be run
if it's in the machine's PATH= list.
GDS parses file/path specifications and runtime switches as command
line parameters. Any number of paths/files may be specified to GDS.
However, if no actual files are found to work with, GDS will say so and
exit to DOS. GDS can't run without files to work with. The following
command line is typical and completely safe:
C> GDS i:\dp\*.lbm j:\GIFs openscrn.gif
The first path specifies all LBM files in the 'DP' directory on drive
I:. The second path specifies all readable files in the 'GIFS' directory
on drive J:. The third path specifies the single file 'OPENSCRN.GIF' in
the currently logged directory. If no path names are given, the current
directory is used ('*').
If you have problems getting GDS to run, refer to the section titled
'Common Problems and Solutions'. The most common problem is an
unsupported video board.
2. THE GDS TEXT SCREEN
----------------------
After configuring GDS and getting it to function, the user is presented
with a screen containing a file display consisting of file names,
extensions, and file sizes in a columnar format. The top line of the
screen always shows the version number and copyright message.
Getting out of GDS is easy. Just hit 'Esc' or click on the 'Quit'
button.
The user may view images by pressing 'Enter' (or double clicking) on a
file name. The space bar toggles the selection state of the file under
the file cursor. Mouse users can drag the mouse from one file to another
to select all files in between. Mouse users can click on a file, which
will deselect all currently selected files (when in single view mode) and
select the file under the mouse cursor. When in single view mode, mouse
users may toggle ranges of files by holding down the shift key and
clicking/dragging, just like the Macintosh user interface. In the slide
show mode, the mouse always acts like the shift key is held.
For keyboard users, pressing the 'Enter' key starts a view in the
current view mode (single or slides). Pressing 'Enter' does not change
the selection state of ANY of the files in the file list. Use the space
bar to toggle the selection state of files. (MOUSE USERS: It's usually
easier to set up fragmented slide shows with the keyboard!)
For mouse users, double clicking on a file will display that file alone
in single view mode, regardless of the current view mode. Use the
'Enter' key or view button (see below) to initiate slide shows.
Several buttons and menus are displayed in the second line of the
screen and on the bottom line. These areas are referred to in this
documentation as 'menu areas'.
In between the file display and the bottom menu area are two lines
displaying detailed information about the 'Current File'. This is
referred to as the 'file status area'. As the file cursor is moved
through the file list, GDS displays information about each file under the
file cursor. This information includes the complete path and file name
of the file, it's screen resolution, number of colors, and the exact file
size in bytes.
On the right side of the file status area, the total number of files
and number of files selected are parenthetically displayed. The number
of files selected will not be displayed unless files are currently
selected.
Directly to the right of the file status area is a help message which
says "'Enter' views current selection" in a rectangle. This area is
referred to as the 'view button'. This button is not important to
keyboard users, except that it tells them what to do to display an image.
The view button gives mouse users added flexibility because clicking it
starts a slide show. If there is more than one file selected or NO files
selected, the view button starts a slide show regardless of the current
view mode. If there is one file selected, the view button will do a
single view. For mouse users, it's easiest to use the 'View:' menu to
change the behavior of single clicks in the file list (see above) and use
the view button to start slide shows.
Using the menus in GDS is simple from a keyboard or mouse. From the
keyboard, hold down 'Alt' and then hit the key which matches the first
highlighted character in the menu or button you want to change (or click
on it with a mouse). If the menu or button you have selected has two or
less functions (like the 'MOUSE:' button), then the state of the button
just changes. If there are more than two choices, then GDS presents the
user with a menu. When using the keyboard, the default menu selection
will be highlighted. You are free to use the arrow keys to navigate the
menus and press 'Enter' to select your option. You may also hit 'Esc' to
cancel selecting from a menu. With a mouse, just click (or drag and let
go on) your choice. To cancel selection with a mouse, just click (or let
go) outside of the menu area.
The functions of each menu or button are discussed below:
Quit This button exits the program.
AutO/LOck
This button shows the state of screen mode locking. The default
graphics mode is normally meaningless unless this button is in the 'LOck'
state. Locking the screen mode forces images to be displayed in the
graphics mode selected in the 'RES:...' menu. This is handy when
reducing large images down to fit in smaller screen modes, or reducing
256 color images down to dithered 16 color images.
RES:
This menu allows the selection of the default graphics and text modes.
The default graphics mode has no effect unless the 'AutO/LOck' button is
in the 'LOck' state.
VIEW:
This menu allows the user to choose between 'Single' images and
'Slides' (slide shows). When this menu is in 'Single' mode, any
selection of a file will deselect all other files first (unless the
'Shift' key is held). When this menu is in 'Slides' mode, mouse clicks
never globally destructive to selections, but rather always modify the
selected state of files. Note that with the mouse, double clicking
always produces a single view regardless of the state of this menu.
LABELS:
This button tells whether or not labels are added to the bottom of
array images. It has no significance to single views or slide shows.
Since the 'label' and 'border' buttons have been added to the array
generation screen, this button may disappear to give way to a more
meaningful button or menu in the future.
BORDERS:
This button tells whether or not borders are drawn around array images.
It has no significance to single views or slide shows. Since the 'label'
and 'border' buttons have been added to the array generation screen, this
button may disappear to give way to a more meaningful button or menu in
the future.
ALIAS:
This menu allows the user to select what level of antialiasing is
performed for reduced images (see 'ANTIALIASING' section below). Hint:
The default antialiasing (horizontal only) is almost as fast as no
antialiasing at all. However, high quality image reduction can take as
much as 10 times longer depending on the level of reduction. In general,
considering the increase in image quality, it's always worth using
horizontal antialiasing, and usually worth using high quality image
reduction.
AboUt:
This menu displays interesting information about GDS. It has no
function except to entertain you.
SORT:
This menu allows the user to select the sort order for the file
display. Selecting a new sort order immediately causes the file display
to be rearranged. Note that selecting sort orders which require the
resolution or number of bits per pixel will force GDS to research this
information before a sort can be done. This is annoying sometimes, but
hey...you can't sort information you don't have. GDS buffers the
resolution and number of bits per pixel so that it only has to read it
once.
MOUSE:
This button toggles the mouse between a bitmapped text cursor and a
character cursor. Some video displays do not conform to the VGA hardware
standard for text character sets and may cause GDS to display a garbled
mouse cursor. If this happens, click on the 'MOUSE:; button. Note that
the state of the mouse can be set in the configuration file so you don't
have click the 'MOUSE:' button every time you run GDS.
PALETTE:
This menu controls the palette generation for array images. GDS will
use no more colors in the palette than are specified in the 'PALETTE:'
button. This setting normally has no effect on single views or slide
shows. Note that this number can be set in the configuration file so you
don't have to set it every time you'd like to create reduced palette
arrays. Using the command line option is also useful in that it is not
limited to a 'nice' number. The user can specify any number (like 27)
for the number of colors to use.
DITHER:
This menu allows the user to specify the level of dithering to be used
when generating array images. No dithering means that GDS will not try
to increase color consistency. Two color dithering generates checker-
board patterns which are functionally imperceptible except in low
resolution graphics modes. Uneven dithering is more obvious than two
color dithering, but greatly enhances the general look of 16 color
renditions of images which start out with many more colors. Hint: There
is almost no speed difference in using dithering. The biggest delay is
the delay just before the image is read where GDS generates it's
conversion table. There is almost no speed difference in putting up raw
pixels vs. dithered pixels. In short, dithering doesn't slow GDS down
perceptibly.
FILESHOW:
This menu allows the user to toggle different elements of the file
display on and off. Note that these elements can be set on or off in the
configuration file so you don't have to set it every time you run GDS.
3. VIEWING COMMANDS
-------------------
GDS has some interesting features when images are viewed alone. Images
can be viewed alone by using 'Enter', or by double clicking a file with a
mouse.
Slide shows will not allow the user to do any of these functions.
Arrays, on the other hand, will allow the user to write GIF, PCX, and RIX
images ('Alt-W', 'Alt-P' and 'Alt-R'). Note that the 'Alt-W', 'Alt-P',
and 'Alt-R' commands can be set up with the '/W###' option to
automatically write a run of array images ONLY in the array view mode.
Array images can also be adjusted with the color controls (F1-F10, ',',
and '.').
For those of you who realize that the user interface for some of the
extended view functions isn't very nice, congratulations. Perhaps if you
FAX me something, I'll improve it.
When viewing a single image or a carefully generated array image, it is
sometimes handy to adjust the palette manually. The F1 through F10, ',',
and ',' keys adjust the red leve, green level, blue level, image
contrast, image brightness and color level. Reset the individual levels
by holding down the shift key and using the same keys. Every time a
level is changed, the entire palette is recalculated from the original to
prevent eventual palette degradation.
Esc Always exits view mode.
Enter Exits single view mode. During slide shows,
'Enter' exits if a slide is being drawn.
Space:
When viewing a single image, pressing the spacebar exits back to the
file screen unless the scale of the image is not exactly the same as the
original image (Note: sometimes the first image displayed is scaled, use
space to return automatically scaled images to their original scale). In
array generation mode, the spacebar will stop the display of any images
in progress and skip directly to the next image in the list.
Alt-W:
Immediately starts writing a GIF file titled "GDS###.GIF". The number
used in place of '###' is either 000 or whatever number was specified
with the '/W###' command line parameter. This function will not
overwrite existing files. Note that you can use the '/N<template>'
command line parameter to change the name template for the files which
are written.
Alt-P:
Exactly like Alt-W, but uses the extension ".PCX" instead. This may
come in handy for those of you using Deluxe Paint II Enhanced or any of
Z-Soft's software.
Alt-R:
Exactly like Alt-W, but uses the extension ".SC<c>" instead, where <c>
is the screen resolution indicator as prescribed by RIX Software in
Irvine, California. This may come in handy for those of you using RIX's
imaging software. Note that GDS supports RIX 'UNCOMPRESSED' format only.
RIX Software is not releasing any information about it's compressed
formats. If you would like to see compressed RIX file support, don't
bother asking me, and please ask RIX to allow developers to support it.
Arrows:
The arrow keys adjust the position of the lower right hand corner of
the image rectangle. Using the arrow keys alone moves the lower right
corner by two pixels at a time. Holding the shift key down while using
the arrow keys moves it by 20 pixels at a time. If you manage to get the
image messed up enough to start over, just hit the space bar and the
image will redraw at it's default scale. This function is useful when
used with Alt-F to fine tune the scale for image reduction. It's also
very useful for correcting the size of images that are stored with an odd
screen size.
Alt-Z:
Start 'zoom' sequence. WORKS ONLY WITH A MOUSE. Use 'Alt-Z' as
follows when viewing an image: (1) Press 'Alt-Z'. (2) Move the mouse
pointer to the upper left of a rectangle to zoom to the full screen size.
(3) Press and hold down a mouse button. (4) While holding down the mouse
button, drag the mouse pointer to the lower right of the desired
rectangle. (5) Let go of the mouse button. The zoom function will
preserve the current X to Y ratio for scaling in case you've adjusted it
or used 'Alt-F' to fit the image to the screen. If you manage to zoom to
the wrong place or mess things up beyond comprehension, just hit the
space bar to redraw the image at it's default scale.
Alt-F:
Fit image to screen. This function ATTEMPTS to rescale an image to fit
into the full screen. It is useful for scaling images down. Depending
on the dimensions of the image, this may not produce the desired results.
If the aspect ratio of the graphics mode or the image is not recognizable
by GDS, the image may end up very distorted. If this happens, use the
spacebar to redraw the image at it's original scale.
F1/F2 Reduce/Increase palette red level.
F3/F4 Reduce/Increase palette green level.
F5/F6 Reduce/Increase palette blue level.
F7/F8 Reduce/Increase contrast.
F9/F10 Reduce/Increase brightness.
',' & '.' Reduce/Increase color. This function can reduce a
full color image to grey scale by using ',' to completely eliminate all
color content. The image can further be reduced to a monochrome image by
increasing the contrast to maximum (F8). This color level control
compensates for the eye's responsiveness to red, green, and blue for
minimal color distortion.
Shift-F1 Reset red level to that of original image.
Shift-F3 Reset green level to that of original image.
Shift-F5 Reset blue level to that of original image.
Shift-F7 Reset contrast to that of original image.
Shift-F9 Reset brightness to that of original image.
Shift-',' Reset color to that of original image.
Alt-F1, Alt-F2, Alt-F3, Alt-F4, Alt-F9, Alt-F10
These keys do all sorts of neat stuff, but They are only functional in
the professional version and need not be explained here.
Have a nice day.
4. SLIDE SHOWS
--------------
GDS has two separate methods of generating slide shows. The first is to
select a range of files from within the normal GDS user interface and set
the 'View:' menu to 'Slides'. When GDS is in set this way, normal
viewing of images results in a slideshow (except mouse double clicks; see
VIEWING COMMANDS).
The second method is to specify the '/S' option on the command line.
GDS will bypass the normal user interface and immediately start a slide
show using any files specified on the command line.
The '/O' option is normally ON (1), which sorts the file list when the
'/S' option is specified. Specifying '/S0' on the command line will
prevent GDS from sorting the file list.
The '/Z' option specifies the delay in 100ths of seconds between
slides. Two seconds, for example, would be specified using '/Z200'. If
'/Z' is not specified, GDS will wait for at least 5 seconds between each
slide.
It is often necessary to give a slideshow on a very specific set of
files which may be inconvenient to enter on the command line. The
'@<FILE>' option is used to tell GDS to read a list of filenames from
<FILE>. Using the '@<FILE>' option can save you a lot of time and allow
you to customize your slideshows to your heart's content. An example of
a typical planned slideshow is as follows:
C> gds /s @filelist /o
The first option ('/s') tells GDS to do an automatic slide show. The
second option ('@filelist') tells GDS to read the file 'filelist' for a
list of files to show. The third option prevents GDS from sorting the
file list.
5. ANTIALIASING
---------------
Antialiasing is a term used to describe the color correction applied to
pixel hues in order to maintain the overall appearance of an image. Most
often, antialiasing means adjusting the colors along partially covered
pixels when drawing a line on a bitmapped screen.
GDS uses antialiasing only when reducing an image. It doesn't smooth
out transitions between enlarged pixels. Perhaps in a future version,
enlargement smoothing may be supported.
GDS uses a very high performance antialiasing technique which scans
colors from many original image pixels and combines them to form a single
destination pixel. What this gives you is an extremely accurate
representation of the original image, but using far less dots to do it.
An interesting side effect of antialiasing is that it tends to reduce
the size of the resulting GIF file. Originally, I expected the file size
to increase, but was fascinated when it dropped by about 9.6% for each
dimension of antialiasing applied.
6. DITHERING
------------
GDS normally mixes colors together when appropriate in order to
increase the apparent color resolution. A good example of this is when
an image has a section which fades evenly from one color (like red) to
another color (like blue). The result in the middle is purple. When
images are reduced and combined on the same screen, the demand for colors
is high. In high resolution GIF images, there are 256 colors per
picture. If you try to mix 80 pictures together, you would need 20480
colors in order to represent the pictures without any hardware color
distortion.
When GDS doesn't have a color available (like purple from the example
above), it looks for two colors which when displayed closely together
appear to have the color of the original pixels. This results in an
almost imperceptible change from the original color in 256 color modes.
Almost as interesting as the effect antialiasing has on resulting GIF
file sizes, dithering increases GIF file size by about 9.6% for each
level of dithering applied.
7. COMMAND LINE PARAMETERS
--------------------------
All command line parameters may be prefaced with a forward slash ('/')
or a dash ('-'). Command line parameters are processed in the order they
are received. Basically, they act like most other command line scheme.
Available command line options are as follows:
/A<n> Set default antialiasing level (0-2)
/B<n> Set default mouse display mode (0-1)
/D<n> Set default dithering level (0-2)
/F#### Set default file display options
/G<mode> Set default graphics display mode
/H or /? Display help screen with these switches listed
/I<n> Set early interlaced fill mode
/L<n> Set default labels on/off switch
/M<n> Set maximum number of colors in generated palette
/N<temp> Set template for filename generation
/O<n> Set sort flag for automatic slide shows (1=sort)
/S<n> Slideshow mode (no user interface, just slides)
/T<mode> Set default text display mode
/V<n> Set vertical orientation mode
/W<n> Set automatic array stream write after first Alt-W
/Z<n> Set delay in between slides in slide shows
/<NAME> Force graphics support
/512 Force support for 512K VGA modes
@<FILE> Get list of files from FILE.
/B<n> This option sets the mode in which the text mouse cursor is
displayed. When this option is set to 0, GDS will display a highlighted
character as a text mouse cursor. When this option is set to 1, GDS will
attempt to remap characters in the EGA/VGA character set to implement a
graphics cursor in text mode. The default setting of this option is
determined at runtime, and depends on the hardware you have. If your
cursor doesn't look right, try changing the /B option in your GDS.CFG
file.
/F#### This option allows the user to specify what information should be
displayed in the file list at startup. The four number (or pound) signs
each hold a place for a 1 or a 0, indicating whether or not the given
option is on or not. The list of file options is as follows:
/F1??? Display file extension (default=0)
/F?1?? Display image resolution (default=0)
/F??1? Display number of bits per pixel (default=0)
/F???1 Display file size (default=1)
/G<mode> This option sets the default graphics mode to be used for
display. The format of <mode> should be <n>x<n>x<n>, where the first
value is the screen width, the second value is the screen height, and the
third number is the number of bits per pixel (or number of colors). The
number of bits per pixel is optional for this option. The default
setting for this option is '/G640x480x8'.
/H or /? This option displays the runtime help screen.
/I<n> This option sets the 'early interlaced GIF fill mode' option.
When interlaced images are drawn, GDS can fill in the breaks in between
interlaced lines so the viewer gets a better image of what the the
picture is as fast as possible. It appears that this was one of the
intended uses of interlaced image format in the original GIF
specification, but no other GIF viewers seem to do this. When this
option is enabled (1), interlaced images draw a bit slower overall, but
the user can see the general content of the picture in about one quarter
of the time it takes to read the entire image. The default value of this
switch is ON (or 1).
/M<n> This option puts a ceiling on the number of colors GDS is allowed
to use when it generates common palettes for combining many GIF images
into arrays of images. This option is significant because the resulting
file size of GIF files written with one bit less per pixel is about 9.5%
smaller than the original number of bits per pixel. This means that a
128 color image will be approximately 91% of the size of the similar 256
color. The disadvantage to limiting the palette is that the color
resolution drops, and therefore the picture quality suffers.
/N<template> This parameter sets the 'printf()' style template for
filenames generated by GDS when array files are written. If you don't
know what that means, DON'T MESS WITH IT! If you are familiar with
printf(), then go ahead and change the template. The default string used
by GDS for generating filenames is "GDS%03d", which creates a file such
as "GDS042.GIF".
/O<n> This option sets the sort flag for automatic slide shows (/S).
This option has no effect when the '/S' option is not specified. To sort
the file list before an automatic slide show, specify /O1. To leave the
file list unsorted, specify /O0. The default value of this option is ON
(or 0).
/S This option specifies automatic slide show mode. In automatic
slide show mode, no user interface is offered, and a slide show starts
immediately after startup. See the '@<FILE>' option for a useful way to
specify exactly what files to show.
/T<mode> This option sets the default text mode to be used for
display. The format of <mode> should be <n>x<n>, where the first value
is the number of character columns, and the second value is the number of
screen lines. The default value for this mode is '/T80x25'.
/W<n> This rather quirky option sets the state of a mode wherein GDS
will continue to generate and write array images (GIF, PCX, or RIX) after
the first time you press Alt-W, Alt-P, or ALT-R, respectively. Using
this option, GDS will run through hundreds of files and generate an image
for each complete array screen. The default setting for this option is
OFF (or 0).
/Z<n> This options specifies the number of 100ths of seconds to delay
in between slides during a slideshow. The default value is 5 seconds
(91). The delay between slides can be completely eliminated by setting
this option to 0.
/<NAME> This option is used to force GDS to assume it has the named video
card. Normally, this is not necessary or advisable. USE THIS OPTION
WITH CARE. There is no telling what could happen if you force a graphics
card which conflicts with the hardware you actually have. The following
video cards are currently defined:
/EGA Standard EGA or 100% compatible
/VGA Standard VGA or 100% compatible
/AHEAD Ahead Systems Chipset (type A)
/AHEADB Ahead Systems Chipset (type B)
/ATI ATI VGA Wonder
/CHIPS Chips and Technologies Chipsets
/EVEREX Everex Systems
/GENOA Genoa 6000 series
/OAK Oak Technologies
/ORCHID Orchid Technologies
/PARA Paradise Systems
/TRIDNT ATI Prism Elite (Trident Chipsets)
/TSENG Tseng Laboratories Chipset
/TSENG4 Tseng Laboratories Chipset (4000 series)
/VESA Standard VESA BIOS Interface
/VID7 Video Seven VRAM or FASTWRITE VGA
/ZYMOS Zymos HiRes 512K VGA
NOTE: If you have any problems with the video modes listed in GDS.CFG, or
find discrepancies, please FAX or write me a note. I'm interested in
supporting cards, although my time is limited.
/512 Force support for 512K VGA. If your video card has 512K of
display RAM and you are unable to get GDS to support modes requiring
512K, try using the '/512' command line switch. If using this option is
successful, you may wish to place this switch in GDS.CFG so you don't
have to type it every time you run GDS. The default setting of this
switch is 0 (off), and if /<NAME> is not specified, this switch is set by
GDS when it tries to automatically detect what type of video adapter is
present.
@<FILE> This option reads a list of image files from
<FILE>. FILE may be any valid path and filename. This is usually used
with automatic slide shows (see '/S').
8. CONFIGURATION FILE DETAILS
-----------------------------
Unless you know what you are doing and are familiar with GDS, please stay
away from the configuration file.
GDS.CFG is set up to define all video modes for all display cards, and to
give the user the ability to specify command line arguments which he
doesn't feel like typing all the time. GDS.CFG will be read from the
current directory first, and then from the execution path. If GDS.CFG is
not found in either location, the program will object.
Any semicolon (';') found in the input stream is interpreted as a
comment. The semicolon and anything after it on the same line is
ignored. It is simple to disable lines in the configuration file by
placing a semicolon in front of it. Primarily, tabs, spaces, and blank
lines are ignored.
There are two types of configuration lines. The first defines a video
mode, and the second specifies automatic command line options. The
format of the video modes is as follows:
A, B, C, D, E, F, G, H, I, J ;optional comment
A) Name of the video card
B) Horizontal screen resolution (number of columns)
C) Vertical screen resolution (number of lines)
D) Number of bits per pixel (or 0 for text mode)
E) AX register on INT 21h call to set video mode (see I)
F) BX register on INT 21h call to set video mode (see I)
G) CX register on INT 21h call to set video mode (see I)
H) DX register on INT 21h call to set video mode (see I)
I) This option has one of three meanings:
1) 0 if video mode is a standard graphics mode
2) 1 if video mode is directly programmed (VGA register
compatible cards only!
3) The base address of the screen if the video mode is a text
mode (indicated by 0 bits per pixel) J) Dot Mode (0=normal, 1=ATI 16
color chunky)
To specify automatic command line options, add a line to GDS.CFG similar
to the following example:
AUTO, /m64 /t132x44 ;limit palette to 64 colors
This example will behave as if you typed '/m64 /t132x44' on the command
line. All automatic command line parameters will be processed AFTER the
actual command line parameters.
There are examples of each of these two types of command lines in the
included GDS.CFG file. There are also comments in the file which should
offer more information.
9. COMMON PROBLEMS AND SOLUTIONS
--------------------------------
The following PROBLEM and SOLUTION pairs are included to help you figure
out what's wrong with your setup or GDS. Each individual entry came from
the experience of supporting people who have problems with GDS.
PROBLEM: After GDS starts, it keeps doing something with the disk
drive which makes me paraniod! I don't like it and I want it to stop.
SOLUTION: This inquisitive behavior is perfectly normal for GDS.
Don't worry, it's not a virus deleting your files! GDS reads the number
of bits per pixel and screen resolution for every file in the file list
whenever you haven't done anything interesting for a few seconds. It
will read about 15 listings and then pause for a couple of seconds and
repeat this pattern until it has read every file. It does this so you
don't have to wait for a long time if you want to sort by something which
needs to be read from every file (like number of bits per pixel or screen
resolution). If you do anything with the user interface or hit any keys,
GDS will stop reading these files instantly.
PROBLEM: The file cursor flashes on and off very fast on some
files and GDS will not display them. GDS displays the horizontal
resolution of the file as '-1'.
SOLUTION: GDS does this because GDS thinks there is an error in the
file. If you don't believe there's an error in the header of the file,
try displaying the file with another viewer. FAX or write me a note if
you find a file that GDS will not display, but other viewers will.
PROBLEM: GDS won't run, and gives me an error that says it doesn't
know what kind of video card I have.
SOLUTION: If you're sure you have a video card which is compatible
with the listings in GDS.CFG, then use the '/<NAME>' option to tell GDS
what card to use. You will also have to use the '/512' option if you
have 512K of video RAM. If you don't know what kind of video card you
have, then you probably have one which is incompatible with GDS. If
you'd like to see the card supported, send me the technical reference
information with a brief cover letter. If you really know what you're
doing, you can add modes to an existing board. None of these suggestions
is supported.
PROBLEM: GDS displays the top part of 256 color images fine, but
the bottom part is either black or garbled.
SOLUTIONS:
A) Try locking each extended screen mode in the 'Res:' menu and
displaying files with it. See which ones screw up.
B) Check to see if there is enough RAM on your video card to use
the display mode you're trying to go into. If not, you can disable the
offending mode using a semicolon (';') in GDS.CFG.
C) Look in GDS.CFG to see if the screen modes which screw up are
actually supported by your video card, and not by a different video card.
You may have to experiment with the GDS configuration file to get a
reliable list of modes to use.
PROBLEM: Some pictures I have are squished to the left of the
screen when I view them with GDS.
SOLUTION: Yeah. Some are. Depending on the graphics mode that the
image was stored on and the different graphics modes GDS supports for
your video board, the aspect ratio of images can be way off. GDS will
not modify the literal dimensions of a picture unless the picture is TOO
BIG to fit on the screen (if so, GDS will scale it down). These squished
images were written with a screen size which has a much greater aspect
ratio horizontally than the screen you have. Most of the time, you can
simply hit 'Alt-F' to fit the image into the screen. Sometimes, however,
people (morons) store the images squished into normal screen sizes. When
'Alt-F' doesn't work, try using the arrow keys (the 'Shift' key makes the
arrows more powerful). To actually FIX these images, just manipulate the
image until it fits nicely into the screen and write the image to a new
file using 'Alt-W', 'Alt-P', or 'Alt-R'.
PROBLEM: I see garbage on the text screen around the mouse pointer
whenever I move the mouse around. It is very annoying.
SOLUTION: You must have a VGA which isn't supported by the
graphic/text mouse pointer. Edit GDS.CFG and add the line 'auto, /m0'.
This will force the mouse to be a character, rather than an arrow in text
mode.
PROBLEM: The screen colors are ugly.
SOLUTION: Write a TSR which can tell if GDS is loaded and monitors
the BIOS screen mode and text screens. Write very involved and optimized
code which scans the text screen and finds the places where GDS writes
characters and change their attributes using a user specified color set.
When someone get's this TSR running nicely, I'll add an easier way to
change GDS's screen colors. IN OTHER WORDS, LIVE WITH THE COLORS.
10. BUG REPORTS
---------------
Bugs suck. But, like most things, they happen. I would just like to
note that I've taken every precaution to limit bugs, and I think I've
been thorough in my quest for a bug-free program. HOWEVER -- bugs are
inevitable.
The biggest area I'm suspecting bugs in is video support. There is
support for some 60 or so super vga cards. There is code which the
manufacturers say should work. Unfortunately, I can only test what I
have. I would be interested to find out if certain cards do or don't
work.
I have tested this software with the Video 7 VRAM VGA, Video 7 1024i, ATI
Wonder+, Orchid Pro-Designer w/1MB, TVGA (Trident) w/1M, Paradise VGA+
w/256K, and Oaktech 256K VGA. I have not personally tested it with the
other cards, but have heard of much success. I have heard of bizarre
problems with some Paradise boards and am looking for information
relating to them.
Below I give my address. This is where you should write if you do find a
problem. I make no guarantees on ever fixing a reported bug, regardless
of it's nature.
GDS Graphics File Viewer
1194 Spring Valley Commons
Livermore, CA 94550
11. REVISION HISTORY
--------------------
1.00 02-10-91 First release, hope you like it.
---- -------- --------------------------------
--> No bugs reported yet. (I'm plugging my ears.)
1.01 02-11-91 Wow! that was fast!
---- -------- -------------------
--> 'Sort:' menu in earlier versions could easily lock up GDS when
used to sort by 'Bits per pixel' or 'Resolution' if GDS had not yet read
file information for all files in file list. Although I haven't seen it,
this bug may cause stack overflows, 386 exceptions, and all sorts of
other unpredictable stuff.
--> Palette generation for array images is much more accurate for
images with varying numbers of bits per pixel. In prior versions, images
with fewer bits per pixel were not represented equally among pictures
with many bits per pixel. This problem has been eliminated by padding
smaller palettes to bias the importance of their individual color ranges.
--> When displaying a 2, 4, 8, or 16 color image in single view mode
and the screen format used to display the image was an EGA mode, some VGA
boards would handle the EGA palette and VGA color registers
inconsistently. This occationally caused a color or two to be incorrect.
GDS now resets all EGA palette registers and all VGA color registers
every time the palette is set, which seems to have corrected the problem.
NEW! Changed behavior of mouse clicks in file list when 'View:' mode
is set to 'slides'. Users tend to want to point at a file and add it to
the list rather than deselecting all other entries in favor of the one
their clicking on. So from now on, when you're doing slides, remember
that the mouse toggles files!
--> Fixed small moving button click problem in array setup.
1.02 02-12-91 QUIX RIX FIX.
---- -------- -------------
NEW! Added RIX support through the Alt-R command. Note that GDS can
only support the 'UNCOMPRESSED' RIX file formats as RIX Software is not
releasing any information about their compressed file format. If you
would really like to see support for compressed RIX files, don't ask me -
- ask RIX Software.
--> Fixed PCX file write for 16 color screen modes. In previous
versions, GDS would write odd images with the bits in the bytes flipped
around, and possibly the plane order reversed. This bug may be a
reflection of how much time I spent writing PCX support. GDS now reads
and writes PCX files correctly in all screen modes.
1.03 02-13-91 Slideshow fixups.
--> Corrected bug in slide shows which could incorrectly display
images which had been read completely into EMS before being displayed.
This bug is more common when the user hits the space bar to bypass the
slide show delay. Earlier versions of GDS could display slide shows with
image misalignment/fracturing or even garbage in horzontal bands of
images.
--> Corrected bug in array generation which could crash a system.
The bug occurs when the individual array images were reduced to less than
1:32 of the original image size. This limitation was not protected
against in prior versions of GDS. GDS is now capable of 1:64 image
reduction and limits the size of array images to prevent users from
reaching this limitation.
--> Corrected many bugs in 'Alt-Z' zoom function during single image
viewing. In prior versions, the zoom feature would inversely compensate
for the aspect ratio of the screen. This version should handle the zoom
feature as one would expect.
--> Corrected nasty bug in two dimensional antialiasing when
displaying zoomed areas. This bug would skew some lines in the display
to the left of where they should have been drawn. The severity of the
display problems depended on the level of zooming, the aspect ratio of
the original image, and the position of the upper left zoom rectangle
corner.
NEW! Added 'READMAC' file format to list of supported formats.
Readmac files (.MAC) can be read, but not yet written. Anybody out there
want to write these files? Let me know. NEW! Added color control to
single and array views. The overall color level in the palette can be
adjusted with the ',' and '.' keys (normal case of '<' and '>'). To
reset the color level, just hit Shift-',' or Shift-'.' ('<' or '>').
This feature, along with the other image palette options gives the user a
surprising amount of control over problem images.
NEW! Added page display compensation when generating arrays and using
'Alt-F' to fit an image to the display. In previous versions, high
resolution portrait files would just be remapped to the entire screen.
GDS now looks at the screen resolution and tries to figure out if it's a
high resolution page display file.
NEW! Increased EMS support for read-ahead buffering for slideshows.
Slideshows now read images of any size while the current image is
displayed. This facility will automatically buffer images, provided
there is enough available system RAM and/or EMS to hold the images.
NEW! Increased file table size to 2800 files. Yes, now you can have a
slideshow which will last just under four hours (at 5 seconds between
images) without repeating an image. Previous versions were limited to
2048 files.
NEW! Added 'label' and 'border' preference buttons to array preview
user interface. The 'Labels:' and 'Borders:' buttons may disappear from
the text file display screen in future versions.
NEW! Changed user interface for selecting array images. In earlier
versions, it was necessary to set the 'View:Arrays' and then hit 'Enter'
or click on the view button in order to start array generation. GDS now
starts array generation immediately when the user selects 'Arrays of
reduced images' from the 'View:' menu. There is no longer a
'View:Arrays' mode in GDS.
NEW! Increased image reduction by 100%. Array images may now be
displayed reduced down to 0.04% in 1024x768 graphics modes. With this
increase, it is now possible to display 2304 reduced images on one
1024x768 screen. I encourage anyone who has that many images accessible
to one machine to try this. At 150K per image, that's over 345 megabytes
of GIF files. Unfortunately, even with antialiasing off, it should take
an average of at least 5 seconds per image on a 33Mhz 80386 machine, and
that works out to about 3 hours and 12 minutes. I want a copy of the
result!
1.04 02-14-91 Quick change act.
---- -------- -----------------
--> Bug corrected with arrow keys and shift key. It shoud now work
like the documentation says.
--> Corrected bug with screen clear which would very rarely leave one
dot per 64K dots in the wrong color.
1.05 02-15-91 Demo Version.
---- -------- -------------
--> "Almost" fully functional version so that you can try before you
buy. Only some of the "high end" functions are not in this version so
that you can enjoy it for personal use at no charge.
TO DO LIST FOR GDS (KNOWN BUGS OR NECESSARY ENHANCEMENTS/CHANGES)
-----------------------------------------------------------------
Pending Bugs/Things to do
-------------------------
lock first <=16 colors to default colors when using limited palette
get feedback for GIF89a compatability
Shareware Distribution Version
------------------------------
Reads GIF, PCX, LBM, MAC
Writes GIF
Handles only one path specification
Will not support any modes higher than 640x480
No rename/delete file function
No '+'/'-' (increase/decrease) image size function in single view mode
No 'Alt-Z' zoom function in single view mode
No invert palette function in single view mode
No Shifted arrow keys in single view mode
No high quality antialiasing
No 1:3 dithering
No label/button toggle in array generation
No palette color limitation function
Reads only GDS.CFG
Registered User Version
-----------------------
Reads GIF, LBM, PCX, MAC
Writes GIF, LBM, PCX
Handles unlimited path specifications
Supports any graphics mode resolution
Rename/delete file function
'+'/'-' increases/decreases image size (preserves aspect ratio)
'Alt-Z' zoom function in single view mode
No invert palette function in single view mode
Shifted arrow keys in single view mode work
High quality antialiasing available
1:3 dithering available
No label/button toggle in array generation
No palette color limitation function
Reads GDS.CFG and GDSUSER.CFG
Professional Version
--------------------
- allows user to toggle labels and borders in array generation
- Reads and writes GIF, LBM, PCX, RIX
- Reads MAC
- Reads GDS.CFG, GDSUSER.CFG, and GDSLOCAL.CFG
- automatic array generation (continuous until complete)
- adjustable palette search
image content palette search (very slow, but very accurate)
lock palette to image(s)
source A >> source B >> destination photomontages
Paint Program:
menu bar toggle
foreground/background color choice
gradient/pattern fills mode
stencils
rectangles
area fill
text/typefaces
Paint Menus
-----------
Image: New
-----
Save
Revert
-----
Exit
Brush: Grab
Lasso
-----
Load
Save
-----
Revert
-----
[x] Opaque
[_] (##%) Transparent
[_] (##%) Darken Entire Area
[_] (##%) Darken From Brush
[_] (##%) Brighten Area
[_] (##%) Brighten From Brush
Gradient: New
-----
Edit
-----
Load
Save
View: Palette
Tools
-----
Zoom
-----
Preview Image
Stencil: Stencil On/Off
-----
Edit
-----
Load
Save
Font: Load
-----
Size
The end (for now!)